<template>
  <div class="header">
    <!-- @keyup.enter="add" 无参绑定，那么默认将绑定事件e传到add函数中，那么e.target.value就是用户输入的值了 -->
    <input type="text" placeholder="请输入你的任务名称,按回车键确定" @keyup.enter="add">
  </div>
</template>

<script>
import { nanoid } from 'nanoid'
export default {
  name: 'MyTop',
  methods: {
    add (e) {
      // 数据校验
      if (!e.target.value.trim()) {
        alert('数据不能为空！')
        return
      }
      // 先把这个输入包装成一个对象
      const todo = {
        id: nanoid(),
        name: e.target.value,
        isChecked: false
      }
      // 再把这个对象作为参数，通过调用父亲函数的形式传递给父亲App.vue
      // 现在通过触发自定义事件将子组件的值传递给父组件
      this.$emit('recieve', todo)
      // 清空
      e.target.value = ''
    }
  },
}
</script>

<style scoped>
.header {
  padding: 10px 10px;
  width: 400px;
  height: 40px;
  /* background-color: pink; */
}
.header input {
  width: 100%;
  height: 100%;
  font-size: 20px;
  border: 1px solid #ccc;
}
</style>
    